
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>

<HEAD>
   <TITLE>pxform_c</TITLE>
</HEAD>

<BODY style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<A name="TOP"></A>

<table style="text-align: left; margin-left: auto; margin-right: auto; width: 800px;"
 border="0" cellpadding="5" cellspacing="2">
  <tbody>
    <tr>
      <td style="background-color: rgb(153, 153, 153); vertical-align: middle; text-align: center;">
      <div align="right"> 
      <small><small><a href="index.html">Index Page</a></small></small>
      </div>
      <b>pxform_c</b> </td>
    </tr>

    <tr>
      <td style="vertical-align: top;">

<small><div align="center">
<A HREF="index.html#A">A</A>&nbsp;
<A HREF="index.html#B">B</A>&nbsp;
<A HREF="index.html#C">C</A>&nbsp;
<A HREF="index.html#D">D</A>&nbsp;
<A HREF="index.html#E">E</A>&nbsp;
<A HREF="index.html#F">F</A>&nbsp;
<A HREF="index.html#G">G</A>&nbsp;
<A HREF="index.html#H">H</A>&nbsp;
<A HREF="index.html#I">I</A>&nbsp;
<A HREF="index.html#J">J</A>&nbsp;
<A HREF="index.html#K">K</A>&nbsp;
<A HREF="index.html#L">L</A>&nbsp;
<A HREF="index.html#M">M</A>&nbsp;
<A HREF="index.html#N">N</A>&nbsp;
<A HREF="index.html#O">O</A>&nbsp;
<A HREF="index.html#P">P</A>&nbsp;
<A HREF="index.html#Q">Q</A>&nbsp;
<A HREF="index.html#R">R</A>&nbsp;
<A HREF="index.html#S">S</A>&nbsp;
<A HREF="index.html#T">T</A>&nbsp;
<A HREF="index.html#U">U</A>&nbsp;
<A HREF="index.html#V">V</A>&nbsp;
<A HREF="index.html#W">W</A>&nbsp;
<A HREF="index.html#X">X</A>&nbsp;
</div></small>
       <br>
       <table style="text-align: left; width: 60%; margin-left: auto; margin-right: auto;"
       border="0" cellspacing="2" cellpadding="2">
        <tbody>
          <tr>
            <td style="width: 50%; text-align: center;">
            <small>
              <a href="#Procedure">Procedure<br></a>
              <a href="#Abstract">Abstract<br></a>
              <a href="#Required_Reading">Required_Reading<br></a>
              <a href="#Keywords">Keywords<br></a>
              <a href="#Brief_I/O">Brief_I/O<br></a>
              <a href="#Detailed_Input">Detailed_Input<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Detailed_Output">Detailed_Output<br></a>
              <a href="#Parameters">Parameters<br></a>
              <a href="#Exceptions">Exceptions<br></a>
              <a href="#Files">Files<br></a>
              <a href="#Particulars">Particulars<br></a>
              <a href="#Examples">Examples<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Restrictions">Restrictions<br></a>
              <a href="#Literature_References">Literature_References<br></a>
              <a href="#Author_and_Institution">Author_and_Institution<br></a>
              <a href="#Version">Version<br></a>
              <a href="#Index_Entries">Index_Entries<br></a>
             </small>
            </td>
          </tr>
        </tbody>
</table>

<h4><a name="Procedure">Procedure</a></h4>
<PRE>
   void pxform_c ( ConstSpiceChar   * from,
                   ConstSpiceChar   * to,
                   SpiceDouble        et,
                   SpiceDouble        rotate[3][3] )
 
</PRE>
<h4><a name="Abstract">Abstract</a></h4>
<PRE>
 
   Return the matrix that transforms position vectors from one 
   specified frame to another at a specified epoch.
 </PRE>
<h4><a name="Required_Reading">Required_Reading</a></h4>
<PRE>
 
   <a href="../req/frames.html">FRAMES</a>
 </PRE>
<h4><a name="Keywords">Keywords</a></h4>
<PRE>
 
   FRAMES
 

 </PRE>
<h4><a name="Brief_I/O">Brief_I/O</a></h4>
<PRE>
 
   VARIABLE  I/O  DESCRIPTION
   --------  ---  --------------------------------------------------
   from       I   Name of the frame to transform from.
   to         I   Name of the frame to transform to.
   et         I   Epoch of the rotation matrix.
   rotate     O   A rotation matrix.
 </PRE>
<h4><a name="Detailed_Input">Detailed_Input</a></h4>
<PRE>
 
   from        is the name of a reference frame in which a position
               vector is known.
 
   to          is the name of a reference frame in which it is desired
               to represent a position vector.
 
   et          is the epoch in ephemeris seconds past the epoch of
               J2000 (TDB) at which the position transformation matrix
               `rotate' should be evaluated.
 </PRE>
<h4><a name="Detailed_Output">Detailed_Output</a></h4>
<PRE>
 
   rotate      is the matrix that transforms position vectors from the
               reference frame `from' to the frame `to' at epoch `et'.
               If (x, y, z) is a position relative to the frame `from'
               then the vector ( x', y', z') is the same position
               relative to the frame `to' at epoch `et'.  Here the
               vector ( x', y', z' ) is defined by the equation:
 
                   -   -       -        -     -  -
                  | x'  |     |          |   | x  |
                  | y'  |  =  |  rotate  |   | y  |
                  | z'  |     |          |   | z  |
                   -   -       -        -     -  - </PRE>
<h4><a name="Parameters">Parameters</a></h4>
<PRE>
 
   None.
 </PRE>
<h4><a name="Exceptions">Exceptions</a></h4>
<PRE>
 
   1) If sufficient information has not been supplied via loaded SPICE
      kernels to compute the transformation between the two frames, the
      error will be diagnosed by a routine in the call tree of this
      routine.
 
   2) If either frame `from' or `to' is not recognized the error
      SPICE(UNKNOWNFRAME) will be signaled.
 </PRE>
<h4><a name="Files">Files</a></h4>
<PRE>
 
   None.
 </PRE>
<h4><a name="Particulars">Particulars</a></h4>
<PRE>
 
   This routine provides the user level interface to computing
   position transformations from one reference frame to another.
 
   Note that the reference frames may be inertial or non-inertial.
   However, the user must take care that sufficient SPICE kernel
   information is loaded to provide a complete position
   transformation path from the from frame to the to frame.
 </PRE>
<h4><a name="Examples">Examples</a></h4>
<PRE>
 
   Suppose that you have geodetic coordinates of a station on the
   surface of the earth and that you need the inertial (J2000)
   position of this station.  The following code fragment
   illustrates how to transform the position of the station to a
   J2000 position.
 
      #include &quot;SpiceUsr.h&quot;
            .
            .
            .
      <a href="bodvcd_c.html">bodvcd_c</a> ( 399, radii, 3, &amp;n, abc );
 
      equatr   =  abc[0];
      polar    =  abc[2];
      f        =  ( equatr - polar ) / equatr;
 
      <a href="georec_c.html">georec_c</a> ( long,        lat,      0.0,   equatr,   f,   epos );
      <b>pxform_c</b> ( &quot;IAU_EARTH&quot;, &quot;J2000&quot;,  et,    rotate              );
      <a href="mxv_c.html">mxv_c</a>    (  rotate,   epos,     jpos                         );
 
 
   The position jpos is the desired J2000 position of the station.
 </PRE>
<h4><a name="Restrictions">Restrictions</a></h4>
<PRE>
 
   None.
 </PRE>
<h4><a name="Literature_References">Literature_References</a></h4>
<PRE>
 
    None.
 </PRE>
<h4><a name="Author_and_Institution">Author_and_Institution</a></h4>
<PRE>
 
   C.H. Acton      (JPL)
   N.J. Bachman    (JPL)
   B.V. Semenov    (JPL)
   W.L. Taber      (JPL)
 </PRE>
<h4><a name="Version">Version</a></h4>
<PRE>
 
   -CSPICE Version 1.0.4, 27-FEB-2008 (BVS)

       Added FRAMES to the Required_Reading section of the header.

   -CSPICE Version 1.0.3, 24-OCT-2005 (NJB)

       Header updates: example had invalid flattening factor
       computation; this was corrected.  Reference to <a href="bodvar_c.html">bodvar_c</a> was
       replaced with reference to <a href="bodvcd_c.html">bodvcd_c</a>.

   -CSPICE Version 1.0.2, 07-JAN-2004 (EDW)

       Trivial typo correction to example section.

   -CSPICE Version 1.0.1, 29-JUL-2003 (NJB) (CHA)

       Various header corrections were made.   
   
   -CSPICE Version 1.0.0, 20-JUN-1999 (NJB) (WLT)
 </PRE>
<h4><a name="Index_Entries">Index_Entries</a></h4>
<PRE>
 
   Find a position transformation matrix
 </PRE>
<h4>Link to routine pxform_c source file <a href='../../../src/cspice/pxform_c.c'>pxform_c.c</a> </h4>

      </td>
    </tr>
  </tbody>
</table>

   <pre>Wed Jun  9 13:05:28 2010</pre>

</body>
</html>

